/*
*  Copyright 2019-2020 Zheng Jie
*
*  Licensed under the Apache License, Version 2.0 (the "License");
*  you may not use this file except in compliance with the License.
*  You may obtain a copy of the License at
*
*  http://www.apache.org/licenses/LICENSE-2.0
*
*  Unless required by applicable law or agreed to in writing, software
*  distributed under the License is distributed on an "AS IS" BASIS,
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*  See the License for the specific language governing permissions and
*  limitations under the License.
*/
package me.zhengjie.modules.system.service.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import me.zhengjie.modules.system.domain.CourseInfo;
import me.zhengjie.modules.system.domain.WxUser;

import java.io.Serializable;
import java.sql.Timestamp;
import java.util.List;

/**
* @website https://el-admin.vip
* @description /
* @author zhaoxiancheng
* @date 2021-11-28
**/
@Data
public class WxUserDto implements Serializable {

    private Integer id;

    /** 微信昵称 */
    private String nickname;

    /** 性别 */
    private String sex;

    private String language;

    /** 城市 */
    private String city;

    /** 省份 */
    private String province;

    /** 国家 */
    private String country;

    /** 头像 */
    private String headimgurl;

    private String subscribe;

    /** 关注时间 */
    private String subscribeTime;

    private String unionid;

    /** 描述 */
    private String remark;

    private String groupid;

    private String tagidList;

    private String status;

    /** 手机号 */
    private String mobile;

    private String openId;

    /** 性格类型 */
    private String personality;

    private String address;

    private String realName;

    private String identityNo;

    @ApiModelProperty(value = "归属人openId")
    private String superior;
    @ApiModelProperty(value = "归属人姓名")
    private String superiorRealName;
    @ApiModelProperty(value = "归属人微信昵称")
    private String superiorNickName;
    @ApiModelProperty(value = "归属人手机号")
    private String superiorMobile;



    @ApiModelProperty(value = "是否休眠，false:未休眠，true：已休眠")
    private boolean dormant;

    private String birthday;

    @TableField(exist = false)
    private String r2time;

    @TableField(exist = false)
    private String r2result;

    @TableField(exist = false)
    private String r5time;

    @TableField(exist = false)
    private String r5result;

    private Timestamp lockTime;

    private Timestamp updateTime;

    private Long partnerId;

    private String partnerName;

    private String identityName;

    private Integer ticketNumber;

    @TableField(exist = false)
    @ApiModelProperty(value = "课程权益")
    private List<CourseInfo> courseRightList;

    @ApiModelProperty(value = "用户链条")
    @TableField(exist = false)
    private List<UserChain> userChain;

    @Data
    public static class UserChain {
        private String openId;
        private String nickName;
        private String realName;
        private String mobile;
        private Integer level;
    }

}